home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!usc!usc!not-for-mail
- From: ajayshah@rcf.usc.edu
- Newsgroups: comp.lang.c,comp.lang.c++,sci.math.num-analysis,sci.comp-aided
- Subject: Part 2 of 2: Free C,C++ for numerical computation
- Followup-To: sci.math.num-analysis
- Date: 1 Jun 1993 18:30:46 -0700
- Organization: University of Southern California, Los Angeles, CA, US
- Lines: 565
- Sender: ajayshah@almaak.usc.edu
- Distribution: world
- Message-ID: <1ugvs6$sdg@almaak.usc.edu>
- Reply-To: ajayshah@rcf.usc.edu
- NNTP-Posting-Host: almaak.usc.edu
- Keywords: source code, numerical statistical scientific computation
- Xref: senator-bedfellow.mit.edu comp.lang.c:71405 comp.lang.c++:44270 sci.math.num-analysis:8443 sci.comp-aided:351
-
- Where : in math on Simtel
- Description : derivative-free maximisation
- Version : July 1987
-
-
- Name : presto
- Where : pub/presto1.0.tar.Z on cs.washington.edu
- Language : C++
- Systems : Unix-like OS on (moderate) multiprocessor machines
- Description : C++ routines for fine-grained parallel programming
- (lightweight threads) on multiprocessors. Tuned for the Sequent
- machines, but highly adaptable and customizable.
- Author : Brian N. Bershad, Edward D. Lazowska, Henry M. Levy
- Version : Version 1.0 is an optimized version by John E. Faust. (All
- above are from U. Washington, Seattle)
- Comments : Presto was the subject of a number of research papers in
- multiprocessor OS. Version 1.0 looks usable (ie not
- experimental anymore).
-
-
- Name : psuedo.asc
- Where : inside ddj9105.zip in published/dr-dobbs on ftp.uu.net
- Description : implements R250 random number generator, from
- S. Kirkpatrick and E. Stoll, Journal of Computational Physics,
- 40, p. 517 (1981).
- Author : W. L. Maier
-
-
- Name : random
- Where : bsd-sources/src/lib/libc/gen on gatekeeper.dec.com
- Description : the BSD C library random number generator
-
-
- Name : random-c
- Where : in c on Simtel
- Description : portable, good random number generator
-
-
- Name : range.tar.Z (191867 bytes)
- Where : in pub/range on math.tamu.edu
- Description : C++ class for interval arithmetic.
- Associated with article in TOMS, Dec 1992 title
- "Precise computation using range arithmetic, via C++"
- Author : Oliver Aberth and Mark J. Schaefer
- Version : Dec 1992 (?)
-
-
- Name : ranpm
- Where : in prog/libraries on nuri.inria.fr (128.93.1.26)
- also in volume5 of comp.sources.misc in "random"
- Description : the Park-Miller "minimal standard" random-number generator
- Author : Ajay Shah, ajayshah@rcf.usc.edu
- Version : February 1992
- Comments : there are several other independent implementations,
- all are quite alike
-
-
- Name : ranlib-c
- Where : pub/unix on odin.mda.uth.tmc.edu or in general on Statlib
- Description : large library for random variate generation from many
- univariate and multivariate distributions
- Author : Barry Brown, bwb@odin.mda.uth.tmc.edu
- Version : 16 Jan 1992
-
-
- Name : rktec.c.Z (20870 bytes)
- Where : in misc on netlib
- Description : computes the truncation error coefficients, tecs, of a
- Runge-Kutta formula, or a pair of formulas, specified in an
- input file.
- Author : Mike Hosea (mhosea@sun.cis.smu.edu)
- Version : v1.1, Dec 4 1992
-
-
- Name : rlab
- Where : /pub/alpha/RLaB/rlab-0.50.tar.Z on evans.ee.adfa.oz.au
- Systems : Compiles and runs on Sun4, RS/6000, DEC/Ultrix, SysV/R4 i386,
- Linux, HP-UX, SGI
- Language : C + Fortran
- Author : Ian Searle (ians@eskimo.com)
- Version : In alpha test, currently v0.75, 25 April 1993
- Description : "Matlab-like" interactive programming environment for
- numerical computations.
- Comments : Includes online help and LaTeX manual.
-
-
- Name : robot
- Description : a scientific graph plotting and data analysis package.
- Works for Xview v3, and knows to generates postscript.
- Where : in pub/astrod on ftp.astro.psu.edu (128.118.147.28)
- Version : v0.46, 7 Feb 1993
- Author : Robin Corbet (corbet@astro.psu.edu)
-
-
- Name : rpart
- Where : in general on Statlib
- Description : Routines for recursive partitioning
- Author : Terry Therneau, therneau@mayo.edu
- Version : Feb 1991
-
-
- Name : sa.zoo (40682 bytes)
- Where : in pub/C-numanal on usc.edu
- Description : library for simulated annealing
- Language : versions for C, C++ and Ada exist.
- Author : Skip Carter (skip@taygeta.oc.nps.navy.mil)
- Version : Tue Nov 10 12:00:42 PST 1992
-
-
- Name : sabre.tar.Z (813499 bytes)
- Where : in pub on athena.erc.msstate.edu
- Description : (not clear) a linear/nonlinear simulation system
- Comments : the `portable math library' directory is definitely
- very useful (5k lines). I noticed some interesting
- interpolation, integration, banded LU decomposition,
- nonlinear solver, etc.
- Author : ?
- Version : ?
-
-
- Name : sdeint.tar.z
- Where : in pub/C-numanal on usc.edu
- Systems : Unix, MS-DOS
- Language : C++
- Description : A Runge-Kutta like class for integrating systems of Stochastic
- Differential Equations
- Author : Skip Carter, skip@taygeta.oc.nps.navy.mil
- Version : v1.9 4 May 1993
-
-
- Name : sge.shar
- Where : in c on Netlib
- Description : Linpack functions geco, gefa, gesl and a little of BLAS;
- nonstandard matrices
- Author : Mark K. Seager, seager@lll-crg.llnl.gov
- Version : April 88
-
-
- Name : SGPC
- Description : Simple Genetic Programming in C
- Author : Walter Alden Tackett (tackett@ipld01.hac.com)
- Where : in the pub/Users/tackett on sfi.santafe.edu
- Version : 28 May 1993
- Comments : genetic algorithms, nonlinear maximisation
-
-
- Name : SIMATH
- Author : SIMATH-Gruppe, Saarbruecken, Germany
- Systems : Unix
- Where : via anonymous ftp: ftp.math.uni-sb.de (134.96.32.23),
- ftp.math.orst.edu (128.193.80.160) in pub/simath
- Version : 3.6.1
- Description : SIMATH contains a lot of C-functions over algebraic
- structures as arbitrary long integers, rational
- numbers, polynomials, Galois fields, matrices,
- elliptic curves, algebraic number fields, modular
- integers, etc. There is also an interactive calculator
- (simath) which uses the C-libraries of SIMATH.
- Comments : version 3.6.1 contains a handbook written in English.
- The SIMATH package also includes a user interface,
- which makes it possible to use the on-line
- documentation of the functions and the keyword index.
- It is free, but you have to first register, in order
- to get a "license" file without which it won't compile.
-
-
- Name : simpack
- Author : Paul A. Fishwick, fishwick@cis.ufl.edu
- Description : tools for writing simulations with a EECS bias
- Where : pub/simdigest/tools on bikini.cis.ufl.edu, also see
- tr92-022.ps.Z from cis/tech-reports/tr92
- Language : C and C++ versions exist
- Version : v2.0, June 1992
-
-
- Name : smirnov.shar.Z (3599 bytes)
- Author : David Rapoport (actize@cea.berkeley.edu)
- Version : 22 February 1993
- Description : Kolmogorov Smirnov two-sample statistic
- Where : in pub/C-numanal on usc.edu
-
-
- Name : SMMS (Sparse Matrix Manipulation System)
- Description : A collection of about 80 commands to do almost
- anything you wish to do with sparse matrices VERY
- EASILY. It is designed as an instructional and
- prototyping tool, not for "production" work.
- Where : /pub/smms93/* on eceserv0.ece.wisc.edu
- Systems : Any Unix system with X-windows, but tested only on Sun,
- HP and DEC. Also works under DOS
- Language : Mostly C (any version). One or two routines in Fortran
- Author : Fernando Alvarado (alvarado@engr.wisc.edu)
- Version : Release 2 May 1993
- Comments : Includes online help for every command and LaTeX and
- PostScript versions a manual. Expandable by the user.
- Release 2 handles complex sparse matrices, interval
- matrices, blocked matrices adn symbolic matrices.
- Visualization tools. Interfaces to Harwell routines
- and Boeing-Harwell sparse matrix data.
-
-
- Name : smooth.tar.Z
- Description : Unix tool for smoothing
- Where : in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at
- (137.208.3.4)
- Author : Bill Davidsen (davisen@crd.ge.com)
- Version : v1.9, 15 Aug 1989
-
-
- Name : SPARSE
- Where : in sparse on Netlib
- Description : library for LU factorisation for large sparse matrices
- Author : Ken Kundert, Alberto Sangiovanni-Vincentelli,
- sparse@ic.berkeley.edu
-
-
- Name : spline29.zip
- Where : in mirrors/msdos/c on wuarchive.wustl.edu
- Description : Interpolation using splines under tension, dressed up as
- a Unix tool
- Author : James. R. Van Zandt
- Version : v2.9, 21 Nov 1992
-
-
- Name : |STAT
- Where : in pub/stat on archive.cis.ohio-state.edu (128.146.8.52)
- Description : collection of around 30 Unix tools for statistical analysis
- Author : Gary Perlman (perlman@cis.ohio-state.edu)
- Version : 5.4, 27 May 1993
- Systems : Unix, MS-DOS
- Comments : Has been in use for 13 years. There is a troff|ps manual
- and man pages. Explicitly designed to work with Unix
- philosophy. The file stat.tar.Z.crypt.uu is ENCRYPTED;
- you have to send email asking for the password.
-
-
- Name : submit1
- Where : in jcgs on Statlib
- Description : damped convex minorant algorithm
- Author : David Eberly, eberly@cs.unc.edu
- Version : May 1992
-
-
- Name : svd.c.Z (8704 bytes)
- Where : in pub/C-numanal on usc.edu
- Description : SVD based on pascal from J. C. Nash book
- Author : Bryant Marks (bryant@sioux.stanford.edu)
- Brian Collett (bcollett@hamilton.edu)
- Version : 14 April 1993
-
-
- Name : taranto-1.0.shar.Z
- Where : in prog/libraries on nuri.inria.fr (128.93.1.26)
- Description : portable, accurate FP to decimal conversion.
-
-
- Name : totinfo
- Where : in volume7 of comp.sources.misc
- Description : info statistic and chi-square for 2-D contingency tables
- Date : August 1989
-
-
- Name : tsp
- Where : pub/dank/tsp.zip at punisher.caltech.edu
- Systems : Any C environment
- Description : Simple heuristic Travelling Salesman Problem solver
- Author : Dan Kegel - from "Discrete Optimization Algorithms," Maciej Syslo
- Version : 1.1
-
-
- Name : using-lapack.Z (8478 bytes)
- Where : pub/C-numanal on usc.edu
- Description : Notes on using Lapack through f2c.
- Author : S. Sullivan (sullivan@mathcom.com)
- Version : 14 April 1993
-
-
-
- Name : vis5d
- Where : vis5d.ssec.wisc.edu (128.104.231.66)
- Systems : SGI, Stardent, IBM PC
- Language : C, Fortran
- Authors : Brian Paul (bpaul@vms.macc.wisc.edu) and Bill Hibbard
- Version : 3.0 (soon to be 3.1)
- Description : visualizing/animating data made by numerical weather
- models and similar sources
- Comments : vis5d interactively provides 3-D isosurfaces, vector-field
- slices, horizontal and vertical contour and colored slices,
- and ribbon "particle" trajectories (integral curves)
-
-
- Name : vspline
- Where : in gcv on Netlib
- Description : non-parametric estimate of a smooth vector-valued
- function from noisy data
- Author : Jeff Fessler
- Comments : splines
-
-
- Name : wavethresh (wavelet.shar)
- Where : in directory S on Statlib, and anonymous ftp from
- gdr.bath.ac.uk, in directory pub/masgpn
- Language : C (and S functions)
- Author : Guy Nason (gpn@maths.bath.ac.uk)
- Version : 2.1 (March 26 1993)
- Description : wavelet transform & thresholding software in C for linking
- into S.
- Comments : Performs 1- and 2-D discrete wavelet transforms using
- Daubechie's wavelets. Also performs thresholding according to
- Donoho and Johnstone.
-
-
- Name : weisfeld-simplex.shar (7457 bytes)
- Where : pub/C-numanal on usc.edu
- Description : small implementation of simplex method for linear programming.
- Author : Matt Weisfeld (not on Internet)
- Version : Feb 1993
- Comments : associated with article in Feb 1993 CUJ.
- For production use (where you want a black-box solver),
- the `lpsolve' package (above) is better. If you want to
- open up a simplex implementation and modify it, then this is
- quite good, using the article as documentation.
-
-
- Name : xgobi
- Where : in general on Statlib
- Systems : Unix, needs X Windows
- Description : a data analysis package emphasising graphical data exploration
- Author : Debby Swayne, dfs@bellcore.com
- Dianne Cook, dcook@fisher.rutgers.edu
- Andreas Buja, andreas@bellcore.com
- Date : 23 March 1993
- Comments : EDA
-
-
- Name : XLispStat
- Where : pub/xlispstat on umnstat.stat.umn.edu
- Systems : Unix, Macintosh, MSW
- Description : a statistical package
- Author : Luke Tierney, luke%umnstat@umn-cs.cs.umn.edu
- Version :
- Comments : object-oriented, EDA, graphics, lisp
-
-
- Name : xtrap.c.Z (4463 bytes)
- Author : Bryan M. Gorman, gorman@scri.fsu.edu
- Version : 28 July 1992
- Description : extrapolation program. Supports 6 algorithms: VBS
- approximants, Aitken delta-squared, Wynn epsilon algo,
- Wynn rho algo, Brezenski theta algo, Levin u-transform.
- Is dressed up as a Unix tool.
- Where : pub/C-numanal on usc.edu
-
-
- Name : xvgr/xmgr (open look or motif versions)
- Where : /CCALMR/pub/acegr on amb4.ccalmr.ogi.edu
- Systems : Unix, with either open look or motif
- Description : graphics for EDA
- Author : Paul J. Turner, pturner@amb4.ccalmr.ogi.edu
- Version : 2.10, 2 May 1993
-
-
-
- f2c
- ---
-
- In case you had not already noticed it: a public domain, industrial
- strength, fortran-to-C translator named f2c exists. It has one great
- strength and one great weakness: "It is a true compiler". Thus the
- code generated always "works", at the price of frequently looking like
- fortran.
-
- A lot of useful fortran libraries can readily be turned into working C
- using f2c, and the resulting C can often be made almost human after
- some hand-editing. The weakest link of f2c is code which involves
- matrices.
-
- A pointer to f2c is at EOF. f2c is also inside Netlib, so you are
- probably better off figuring out how to use Netlib.
-
-
-
- Other pointers
- --------------
-
- There is a lot of interesting C source in these fields which I know nothing
- about:
- - signal processing
- - pattern recognition, neural networks
- The comp.dsp FAQ has some pointers to source code.
- Please send me complete entries to include in the above index.
-
- A lot of 3rd party source code which hooks into the S statistical package
- uses computational engines written in C. With a little work you can extract
- useful source from this. Look in the S directory on Statlib for more
- pointers. If you find something which is remarkably useful and easy
- to extract, please tell me about it.
-
- The same phenomenon operates to some extent for the XLispStat package.
- Look around on the umnstat.stat.umn.edu site.
-
-
-
- Interesting sites
- -----------------
-
- If you don't have ftp access, send email to ftpmail@decwrl.dec.com
- saying "help". You will get instructions on how to do ftp via email.
-
- Juhana Kouhia (jk87377@cs.tut.fi) has setup a very nice service:
- Everything in this index (except for what is on {net,stat}lib) is
- mirrored in pub/sci/math/numcomp-free-c on nic.funet.fi
- Note: this site is in finland. If you are in the US, please try
- to find a site closer to you.
-
- source-code newsgroups:
- ftp.uu.net (e.g. usenet/comp.sources.reviewed archives the
- comp.sources.reviewed newsgroup).
- f2c:
- dist/f2c on research.att.com
- pub/gnu on prep.ai.mit.edu
- Netlib:
- research.att.com email, ftp
- ornl.gov email, xnetlib
- nac.no email, xnetlib for Europe
- (e.g. send email to netlib@ornl.gov to access by email)
- unix.hensa.ac.uk is a mail server useful for Europe.
- ci.cs.uow.edu.au (130.130.64.3) in Australia
- Statlib:
- lib.stat.cmu.edu (as statlib)
- dmssyd.syd.dms.csiro.au (130.155.96.1)
- others:
- qiclab.scn.rain.com has a small collection in pub/math, including
- fft stuff not listed above. elib.ZIB-Berlin.de is quite interesting
- too.
-
-
-
- Books
- -----
-
- Name : C Mathematical Function Handbook
- Author : Louis Baker
- Language : C and C++
- Version : 757 pages, soft, including floppy, McGraw Hill, 1992, $50
- Description : Code implementing the algorithms and formulas in
- Abramovitz and Stegun, with several chapters added. It will
- save you a lot of time as compared with writing code out of A&S.
- 95% of the pages in the book are merely the source code, without
- even doing pretty printing. It improves on A&S in (broadly)
- mathematical physics.
-
- The code does not show very good C competence. The code
- and the book betray their development on a computer running
- MS-DOS. Sometimes, more-recent algorithms which improve on A&S
- are ignored.
-
-
- Name : Applied Numerical Methods in C
- Author : Shoichiro Nakamura
- Version : Prentice Hall, hardback, $48; disk+manual costs $35.
- 604 pages.
-
-
- Name : Numerical Recipes in C
- Author : William H. Press, Saul A. Teukolsky, William T. Vetterling
- and Brian P. Plannery
- Language : C
- Version : 2nd edition, 933 pages, Cambridge University Press, 1992,
- $50 hard, $20 for the floppy.
- Description : A very thorough first book on numerical computation, with
- accompanying source code. The methods are often not
- industrial-strength, and a expert on (say) linear algebra
- will be disappointed at the treatment of linear algebra.
- But to a relative novice it's easy to start using, and
- likely to work pretty well pretty often. Within the
- constraint of being accessible to a novice to numerical
- computation, the methods here are uptodate.
-
- The text is refreshing and a real pleasure to read. Thus,
- for example, even if you plan to use Linpack source code
- to do a SVD, it's well worth reading the text here. The
- authors are often opinionated in situations where the
- relative merits of alternative methods are not known "for
- sure", this gives the reader the benefit of their wisdom
- (in ways that experts will sometimes consider
- superficial). I think such editorialising is very useful
- to the novice, even though it is bound to be misleading at
- times.
-
- The typesetting is superb: it is done using TeX. The
- second edition has a two-tier treatment where advanced
- topics are in smaller type. All the source code is
- printed in the book, and very beautifully at that -- i.e.,
- it's not a mere waste of paper. The floppy has examples
- of usage of every function; these examples are not in the
- book.
-
- The source code is widely used, but not as much as
- Linpack. Hence we often hear complaints on the net about
- subtle errors in their FFT and SVD functions. Presumably
- there are other errors too. The book exists in a fortran
- version too, and the development of the C version is not
- done independently of the fortran. Hence their C is a bit
- fortran-like.
-
- Their C uses base-1 arrays. This is inconsistent with C
- idiom and incorrect according to the ANSI C standard. It
- can be fixed by wasting a little memory and fixing nrutil.
-
- Perhaps the worst drawback of the source code is that it
- is copyrighted (unlike (say) Linpack). Thus while you can
- use it in your programs (after buying the floppy), you are
- not allowed to send a program containing this source code
- to anyone else. Thus when you choose to use Numerical
- Recipes source code for your work, you implicitly give up
- the right to {give your program to a colleague, or post it
- on the net, or sell it} without dealing with their
- lawyers.
-
- The file usc.edu:pub/C-numanal/nr.experiences (16158 bytes)
- will tell why a lot of "real numerical analysts" dislike
- Numerical Recipes.
-
-
- Name : Computing for Scientists and Engineers: A workbook for
- analysis, numerics and applications
- Author : William J. Thompson
- Language : C
- Version : 464 pages, $55, John Wiley and Sons
-
-
-
- Credits
- -------
-
- The following people helped me put this index together:
-
- Bardo Muller bardo@gonzales.ief-paris-sud.fr
- David E. Stewart des@thrain.anu.edu.au
- Skip Carter skip@taygeta.oc.nps.navy.mil
- John Gregory jwg@db.cray.com
- John Eaton jwe@che.utexas.edu
- P. G. Hamer P.G.Hamer@bnr.co.uk
- Alan Magnuson awm@osc.edu
- David Rapoport actize@garnet.berkeley.edu
- Peter Fraenkel pnf@pwcm.com
- Martin-D. Lacasse isaac@physics.mcgill.ca
- Matthew Koebbe phaedrus@alioth.cc.nps.navy.mil
- Nicolas Ratier ratier@laas.laas.fr
- Henri Cohen cohen@merak.greco-prog.fr
- Bill Hutchison bhutchi@godiva.ssw.com
- Ronald F. Guilmette segfault!rfg@netcom.com
- Jay Han han@corto.inria.fr
- Van Snyder vsnyder@math.Jpl.Nasa.Gov
- Alan Cabrera adc@tardis.cl.msu.edu
- Vincent Broman broman@peanuts.nosc.mil
- Piercarlo Grandi pcg@aberystwyth.ac.uk
- Abed Hammoud abed@saturn.wustl.edu
- Richard A. O'Keefe ok@goanna.cs.rmit.OZ.AU
-
- Of course, we owe infinite gratitude to the authors themselves, for
- making their work available in the public domain.
- --
- Ajay Shah, (213)749-8133, ajayshah@rcf.usc.edu
-